What is an OS?

Back to se350

An OS is a standardized abstraction: a VM implemented on the underlying machine

What do you need in a computer?

Registers

User-visible registers

Control and status registers

Condition codes and Flags

Instruction execution

Simple:

  1. Processor fetches from memory
  2. Processor executes
  3. Goto 1

Reality:

Instruction Register

Interrupts

New processor flow

This is a simplified version, does not account for nested interrupts, interrupt priorities, counting interrupts, etc

Direct Memory Access (DMA)

Memory Hierarchy

Traversing heirarchy:

Cache memory

Symmetric Multiprocessing (SMP)